JavaScript Module
#Alias #Momdule
export したものを import して使う。
ES6, es2015から使える
moduleファイルを、.mjsとすることもある
余談 — .mjs 対 .js JavaScript モジュール -
参考:
JavaScript|モジュール化(importとrequireの違い) - わくわくBank
最初に読む
JavaScriptのモジュールは変数をエクスポートする - Qiita
イメージとして残す。
JavaScript
EMSとCJS(common js)
Node.jsのECMAScript Modulesの紹介 - 技術探し
nodeは、どこでEMSとCJSを判別するか(拡張子なしで)
一言で言うと、一番近くの親のpackage.jsonによってファイルのモジュールシステムが確定します
"type":"module" か、"type": "commonjs"か、指定しない(デフォルト)は、commonjs
特定ファイルだけ...その時は、拡張子をしてしてください
使用できない変数が、commonjs, esmである
commonJSの方式は module.exportsだけ、覚えた。
CommonJS のモジュールシステムをおさらい - ナデズダ・ゴボリン🖥
node.js で使用できる module.exports は CommonJS の仕様ではなく、node.js による独自拡張です
意訳初学者のためのJavaScriptモジュール講座 Part1 - Qiita
モジュールがどういうのものか?どういう意義があるのか?どういう方法があるのか?
そのモジュールが複数になった(っていく)場合に、
CommonJSが、
module.export = myModule; var myModule = require('myModule');
AMD(AsynchronoousModuleDefinition)は、
define(['myModule', 'myModule2'], function(moModule, myModule2){....})
UMD(universal Model Definition)
..
ES6は、moduleがビルドイン